This repository has been archived by the owner on Jan 11, 2024. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes consensus-shipyard/ipc#340
tendermint-rs
releasecometbft
instead oftendermint
cometbft
docker image (there is a0.37.x
tag) in e2e testsAs a side effect of catching up with
tendermint-rs
, I had to change what theFvmQuery::Call
ABCI query gets back in response. This is the one that is running a transaction in a local read-only fashion. Previously I returned an IPLD encodedDeliverTx
construct fromtendermint-rs
itself, so that the client library has the same fields and data types to work with when it comes to seeing transaction results. However, theDeserialize
trait was removed from this type, so while I could turn it into bytes withfvm_ipld_encoding
, there wasn't a way to get it back. Apparently they introduced adialect
module which will have completeserde
support, it's generic in its even payloads, which is where I guess there were some differences across consumers.To get around this problem, I am now turning the
DeliverTx
into protobuf bytes, and encode that as IPLD (not needed but everything else is IPLD). I thought this is actually better because at least the ABCI protobuf is available to all consumers, although it might be a bad idea to push that dependency to consumers. If push comes to shove we can come up with a DTO, but it needs to duplicate events too. Or we can look at thisdialect
, but that's specific to this Rust library. Our RPC client hides this craziness from the consumer.